Traducción y adaptación del Taller OpenRefine de Library Carpentry.
Erin Carillo (Ed.), Owen Stephens (Ed.), Juliane Schneider (Ed.), Paul R. Pival (Ed.), Kristin Lee (Ed.), Carmi Cronje (Ed.), James Baker, Christopher Erdmann, Tim Dennis, mhidas, Daniel Bangert, Evan Williamson, … Jeffrey Oliver. (2019, July). LibraryCarpentry/lc-open-refine: Library Carpentry: OpenRefine, June 2019 (Version v2019.06.1). Zenodo. http://doi.org/10.5281/zenodo.3266144
Este es una adaptación y traducción del tutorial de Library Carpentry: Library Carpentry: OpenRefine
La lección originarl y esta versión está bajo la licencia CC By 4.0
Esta lección de librarycarpentry presenta OpenRefine a las personas que trabajan con datos y en roles relacionados con la biblioteca y la información. Al final de la lección,el aprendiz comprenderá lo que hace el software OpenRefine y cómo usarlo para trabajar con archivos de datos.
Para completar esta lección, deberá instalar OpenRefine y descargar el archivo
OpenRefine requiere uno de estos navegadores web:
OpenRefine tiene algunos problemas con Firefox. Internet Explorer no es compatible.
Consulte Configuración para obtener más información.
Para
Enseñanza: 15 minutos
Ejercicios: 0 minutos
Preguntas: ¿Qué es OpenRefine? ¿Qué hace?
Objetivos
• Explicar lo que hace el software OpenRefine
• Explicar cómo el software OpenRefine puede ayudar a trabajar con archivos de datos
OpenRefine es una aplicación de escritorio que utiliza un navegador web como interfaz gráfica. Se describe como “una herramienta poderosa para trabajar con datos desordenados” David Huynh. ¿Qué significa esto?
Probablemente sea más fácil describir los tipos de datos con los que OpenRefine trabaja mejor y los tipos de problemas que puede ayudarlo a resolver.
OpenRefine es más útil cuando tiene datos en un formato tabular simple, como una hoja de cálculo, un archivo de valores separados por comas (csv) o un archivo delimitado por tabuladores (tsv), pero con inconsistencias internas en los formatos de datos, el lugar donde aparecen los datos, o la terminología utilizada. OpenRefine se puede usar para estandarizar y limpiar datos en su archivo.
Puede ayudarlo a:
• Obtener una descripción general de un conjunto de datos
• Resolver inconsistencias en un conjunto de datos, por ejemplo, estandarizar el formato de fecha
• Ayudarlo a dividir los datos en partes más granulares, por ejemplo, dividir celdas con varios autores en celdas separadas
• Hacer coincidir los datos locales con otros conjuntos de datos, por ejemplo, en formularios de coincidencia de nombres personales con registros de autoridad de nombres en el Archivo de autoridad internacional virtual (VIAF)
• Mejorar un conjunto de datos con datos de otras fuentes
• No se necesita conexión a Internet y ninguno de los datos o comandos que ingresa en OpenRefine se envían a un servidor remoto.
• NO está modificando datos originales/sin procesar.
• Los proyectos se guardan automáticamente cada cinco minutos y cuando OpenRefine se cierra correctamente (Ctrl+C).Consulte el Historial en el Manual del usuario para obtener más información.
• Los archivos se guardan localmente, de modo que si está trabajando en dos computadoras, tendrá que exportar/importar archivos/proyectos
• No se necesita conexión a Internet y ninguno de los datos o comandos que ingresa en OpenRefine se envían a un servidor remoto.
• NO está modificando datos originales/sin procesar.
• Los proyectos se guardan automáticamente cada cinco minutos y cuando OpenRefine se cierra correctamente (Ctrl+C). Consulte Historial en el Manual del usuario para obtener más información.
• Los archivos se guardan localmente, de modo que si está trabajando en dos computadoras, tendrá que exportar/importar archivos/proyectos
Enseñanza: 10 minutos
Ejercicios: 5 minutos
Preguntas: ¿Cómo obtengo datos en OpenRefine?
Objetivos: Importar datos con éxito en OpenRefine
Hay varias opciones para obtener su conjunto de datos en OpenRefine. Puede cargar o importar archivos en una variedad de formatos que incluyen:
• TSV (valores separados por tabulaciones)
• CSV (valores separados por comas)
• Excel
• JSON (notación de objetos javascript)
• XML (lenguaje de marcado extensible)
• Hoja de cálculo de Google
Para importar los datos para el siguiente ejercicio, siga las instrucciones en Configuración para descargar los datos y ejecutar OpenRefine.
NOTA: Si OpenRefine no se abre en una ventana del navegador, abra su navegador y escriba la dirección http://127.0.0.1:3333/ para ir a la interfaz de OpenRefine.
Una vez que se inicie OpenRefine en su navegador, haga clic Create Project en el menú de la izquierda y seleccione This computer
Haga clic Elegir Archivos o ‘Examinar’, dependiendo de su configuración y localice el archivo que ha descargado llamado doaj-article-sample.csv
Haga clic Next >> . En la siguiente pantalla (ver imagen de abajo) le brinda opciones para asegurarse de que los datos se importen a OpenRefine correctamente. Las opciones varían según el tipo de datos que esté importando.
Haga clic en el Character encoding cuadro y configúrelo en UTF-8. Esto garantiza que OpenRefine interprete correctamente los datos importados como codificados en UTF-8. Si no selecciona esto, es posible que algunos caracteres especiales (por ejemplo, las comillas tipográficas) no se muestren correctamente.
Asegúrese de que la primera fila se use para crear los encabezados de columna marcando la casilla Parse next 1 line(s) as column headers
OpenRefine seleccionará automáticamente “Usar carácter” para encerrar celdas que contengan separadores de columnas (como una coma) como parte de sus datos. Esto asegurará que OpenRefine no malinterprete ninguna coma (u otros caracteres) dentro de los datos de la columna como delimitador. Mantenga esta opción seleccionada.
A partir de OpenRefine 3.4 en adelante, hay una opción para recortar el espacio en blanco inicial y final de las cadenas al importar archivos basados en separadores **Trim leading & trailing whitespace from strings Escape special characters with \ ** Mantener esto comprobado asegurará que los valores como y , que difieren por un solo espacio final, no se traten como valores diferentes después de la importación EnglishEnglish
Asegúrese de que la casilla no esté marcada, para que OpenRefine no intente detectar automáticamente los números, ya que puede causar errores como confusión entre los formatos de fecha (por ejemplo, DD / MM / AAAA vs MM / DD / AAAA) Parse cell text into numbers, dates, …
El cuadro Nombre del proyecto en la esquina superior derecha tendrá como valor predeterminado el título del archivo importado. Haga clic en el cuadro para dar a su proyecto un nombre diferente, si lo desea. Project Name
Una vez que haya seleccionado las opciones adecuadas para su proyecto, haga clic en el botón en la parte superior derecha de la pantalla. Esto creará el proyecto y lo abrirá. Los proyectos se guardan a medida que trabaja en ellos, no hay necesidad de guardar copias a medida que avanza. Create Project >>
Para abrir un proyecto existente en OpenRefine puede hacer clic en la pantalla principal de OpenRefine (en el menú de la izquierda). Al hacer clic, verá una lista de los proyectos existentes y puede hacer clic en el nombre de un proyecto para abrirlo.Open Project
Mire las otras opciones en la pantalla Importar: intente cambiar algunas de estas opciones y vea cómo eso cambia la vista previa y cómo aparecen los datos después de la importación.
¿Tiene acceso a datos JSON o XML? Si es así, la primera etapa del proceso de importación le pedirá que seleccione una ‘ruta de registro’, es decir, las partes del archivo que formarán las filas de datos en el proyecto OpenRefine.
Utilice la opción para importar datosCreate Project
Puede controlar cómo se importan los datos mediante las opciones de la pantalla de importación
Se pueden importar varios tipos de archivos a OpenRefine.
Enseñanza: 10 min
Ejercicios: 5 min
Preguntas
¿Cómo se organizan los datos en OpenRefine?
¿Cómo accedo a las opciones para modificar datos en OpenRefine?
¿Cuál es la diferencia entre filas y registros en OpenRefine?
¿Cómo trabajo con celdas individuales que contienen varios valores en una lista?
Objetivos
Localizar controles para navegar por los datos en OpenRefine
Encuentre opciones para trabajar con datos a través de los menús desplegables de OpenRefine
Dividir celdas que contienen múltiples pedacitos de datos para que cada pieza de datos esté en su propia celda
OpenRefine muestra los datos en formato tabular (filas y columnas). Cada fila generalmente representará un “registro” en los datos, mientras que cada columna representa un tipo de información. Esto es muy similar a cómo puede ver los datos en una hoja de cálculo o base de datos. Al igual que con una hoja de cálculo, cada dato vive en una “celda” en la intersección de una fila y una columna.
OpenRefine solo muestra un número limitado de filas de datos a la vez. Puede ajustar el número eligiendo entre 5, 10 (el valor predeterminado), 25 y 50 en la parte superior izquierda de la tabla de datos. Puede navegar por los registros utilizando las opciones de navegación anterior/siguiente/primera/última en la parte superior derecha de la tabla de datos.
Se accede a la mayoría de las opciones para trabajar con datos en OpenRefine desde los menús desplegables en la parte superior de las columnas de datos. Cuando seleccione una opción en una columna en particular (por ejemplo, para realizar un cambio en los datos), afectará a todas las celdas de esa columna. Si desea realizar cambios en varias columnas, deberá hacerlo una columna a la vez.
OpenRefine tiene dos modos de visualización de datos: ‘Filas’[rows] ‘registros’. En este momento estamos en modo Filas, donde cada fila representa un solo registro en el conjunto de datos, en este caso, un artículo. En el modo Registros, OpenRefine puede vincular varias filas como pertenecientes al mismo Registro.
Para ver cómo funciona esto en la práctica, podemos dividir los nombres de los autores en celdas separadas. Si observa la columna Autor, debería poder ver que hay varios nombres en cada celda separados por el símbolo pipe o barra vertical ( | ).
Para trabajar con los nombres de los autores de manera efectiva en OpenRefine, necesitamos tener cada nombre en una celda individual. Para dividir los nombres en sus propias celdas, podemos usar una función:Split multi-valued cells
Haga clic en el menú desplegable en la parte superior de la columna Autor
Elegir Edit cells->Split multi-valued cells
En el campo separator, escriba el símbolo ( | ) y haga clic en OK
Tenga en cuenta que las filas siguen estando numeradas secuencialmente
Haga clic en la opción para cambiar al modo Registros Records
Observe cómo ha cambiado la numeración, lo que indica que varias filas están relacionadas con el mismo registro
Un flujo de trabajo común con celdas de varios valores es:
Dividir celdas de múltiples valores en celdas individuales (lo que hicimos anteriormente)
Modificar/refinar/limpiar celdasindividuales
Volver a unir celdas de varios valores
La modificación de las celdas se cubrirá en futuras lecciones, pero por ahora cubriremos cómo volver a unir las celdas que se han dividido anteriormente.
Haga clic en el menú desplegable en la parte superior de la columna Autor
Elegir Edit cells->Join multi-valued cells
En la ventana emergente que aparece, escriba el símbolo ( | )
Haga clic en Ok y en otros casos aceptar para volver a unir las celdas Autores.
Ahora verá que las filas divididas han desaparecido: los autores se han unido en una sola celda con el delimitador especificado. Nuestros valores de Filas y Registros ahora serán los mismos, ya que no tenemos más columnas con celdas divididas (multivalor).
Haga clic en las opciones rows y records y observe cómo los números de filas y registros son iguales.
El valor que separa las celdas de varios valores se denomina separador o delimitador. Elegir un buen separador es importante. En los ejemplos, hemos visto que se ha utilizado el carácter de pipe o barra vertical ( | ).
Elegir el separador incorrecto puede provocar problemas. Considere el siguiente ejemplo de autor de varios valores. con una tubería como separador.
Jones, Andrew | Davis, S.
Cuando le digamos a OpenRefine que divida esta celda a partir del pipe o barra vertical ( | ), obtendremos los siguientes dos autores cada uno en su propia celda ya que hay un solo pipe o barra vertical que los separa.
Autor 2: Davis, S.
Ahora imagine que el creador del documento hubiera elegido una coma como separador en lugar de un pipe o barra vertical
Jones, Andrew , Davis, S.
¿Puedes detectar el problema? ¿Puedes decir dónde se detiene un autor y comienza el siguiente?
OpenRefine se dividirá en cada coma que encuentre, por lo que terminaremos con 4 autores, no dos, porque OpenRefine no puede decir que Jones, Andrew se supone que es un solo autor. Obtendremos los siguientes cuatro “autores” porque hay 3 comas que separan las partes del nombre.
Autor 1: Jones
Autor 2: Andrew
Autor 3: Davis
Autor 4: S.
Elija un separador que no esté en los valores de datos
Al crear una hoja de cálculo con celdas de varios valores, es importante elegir un separador que nunca aparecerá en los propios valores de celda. Por esta razón, el carácter pipe o barra vertical ( | ) es a menudo una buena opción, ya que rara vez se utiliza en los datos. Las comas, los dos puntos y los puntos y comas deben evitarse como separadores.
La división en una coma no funcionará con los autores porque los nombres pueden incluir comas dentro de ellos.
1.¿Qué carácter separador se utiliza en las celdas Subjects?
¿Cómo dividirías estas palabras del Subject en celdas individuales?
OpenRefine utiliza filas y columnas para mostrar datos
Se accede a la mayoría de las opciones para trabajar con datos en OpenRefine a través de un menú desplegable en la parte superior de una columna de datos
Cuando selecciona una opción en una columna en particular (por ejemplo, para realizar un cambio en los datos), afectará a todas las celdas de esa columna.
OpenRefine tiene un modo Records que vincula varias filas en un solo registro
Dividir y unir celdas de varios valores para modificar los valores individuales dentro de ellas
Al crear celdas de varios valores en los datos, elija un separador que no aparezca en los valores de datos
Enseñanza: 10 min
Ejercicios: 10 min
Preguntas
¿Qué es una faceta en OpenRefine?
¿Qué es un filtro en OpenRefine?
¿Cómo puedo usar filtros y facetas para explorar datos en OpenRefine?
¿Cómo puedo corregir problemas de datos comunes en mis datos con OpenRefine?
Objetivos
Explicar qué son las facetas y los filtros
Responder preguntas sobre el contenido de un conjunto de datos mediante Facetas
Usar facetas y filtros para trabajar con un subconjunto de datos
Corregir problemas de datos a través de una faceta
Las facetas son una de las características más útiles de OpenRefine y pueden ayudar tanto a obtener una visión general de los datos como a mejorar la consistencia de los datos.
Una ‘Faceta’ agrupa todos los valores que aparecen en una columna y, a continuación, le permite filtrar los datos por estos valores y editar valores en muchos registros al mismo tiempo.
Una de las facetas más utilizadas se llama ‘Faceta de texto’. Esto agrupa todos los valores de texto en una columna y enumera cada valor con el número de registros en los que aparece. La información de la faceta siempre aparece en el panel de la izquierda en la interfaz de OpenRefine.
Para crear una faceta de texto para una columna, haga clic en el menú desplegable en la parte superior de la columna del editor y elija . La faceta aparecerá en el panel de la izquierda.Facet -> Text Facet
La faceta consiste en una lista de valores utilizados en los datos. Puede filtrar los datos que se muestran haciendo clic en uno de estos encabezados.
Puede incluir varios valores de la faceta en un filtro a la vez mediante la opción que aparece cuando coloca el mouse sobre un valor en la faceta.Include
También puede el filtro para mostrar todos los registros que no coinciden con los valores seleccionados. Esta opción aparece en la parte superior del panel Faceta cuando se selecciona un valor de la faceta para aplicarlo como filtro.invert
Haga clic en el menú desplegable en la parte superior de la columna del “publisher” y elija Facet > Text Facet La faceta aparecerá en el panel de la izquierda.
Para seleccionar un solo valor, haga clic en el texto de la línea correspondiente en la faceta
Para seleccionar varios valores, haga clic en la opción de la línea correspondiente de la faceta (que sólo aparece cuando pasa el ratón por encima de la línea)Include
Puede “invertir” sus selecciones en exclude
Incluya un valor y luego mire la parte superior para invertir la inclusión.
¿Qué licencias se utilizan para los artículos de este archivo?
Use a para la columna y responda estas preguntas:text facet licence
¿Cuál es la licencia más común en el archivo?
¿Cuántos artículos del archivo no tienen una licencia asignada?
Además de usar Facetas para filtrar los datos que se muestran en OpenRefine, también puede aplicar ‘Filtros de texto’, que busca un fragmento de texto en particular que aparece en una columna basada en una cadena de texto única, como una función de ‘búsqueda’. Los filtros de texto se aplican haciendo clic en el menú desplegable en la parte superior de la columna a la que desea aplicar el filtro y eligiendo ‘Filtro de texto’.
Al igual que con las Facetas, las opciones de filtro aparecen en el panel de la izquierda en OpenRefine. A medida que escribe el texto que desea utilizar en el filtro en el cuadro de texto del filtro, OpenRefine funciona para mostrar solo las filas que contienen ese texto en la columna correspondiente.
También puede utilizar expresiones regulares en el filtro.
Es muy importante tener en cuenta que cuando haya filtrado los datos que se muestran en OpenRefine, cualquier operación que realice se aplicará solo a las filas que coincidan con el filtro, es decir, los datos que se muestran actualmente. Para confirmar que está trabajando con los datos que pretendía seleccionar, compruebe el número de registros coincidentes que se muestran encima de la tabla de datos.
Las facetas personalizadas son una gama de diferentes tipos de facetas. Algunas de las facetas personalizadas predeterminadas son:
Faceta de palabra: divide el texto en palabras y cuenta el número de registros en los que aparece cada palabra.
Faceta duplicada: esto da como resultado una faceta binaria de ‘verdadero’ o ‘falso’. Las filas aparecen en la faceta ‘true’ si el valor de la columna seleccionada coincide exactamente con un valor de la misma columna de otra fila
Faceta de longitud de texto: crea una faceta numérica basada en la longitud (número de caracteres) del texto de cada fila de la columna seleccionada. Esto puede ser útil para detectar datos incorrectos o inusuales en un campo donde se esperan longitudes específicas (por ejemplo, si se espera que los valores sean años, es probable que cualquier fila con una longitud de texto superior a 4 para esa columna sea incorrecta)
Faceta por espacio en blanco : una faceta binaria de ‘verdadero’ o ‘falso’. Las filas aparecen en la faceta ‘true’ si no tienen datos presentes en esa columna. Esto es útil cuando se buscan filas que carecen de datos clave.
Las facetas están destinadas a agrupar valores comunes y OpenRefine limita el número de valores permitidos en una sola faceta para garantizar que el software no funcione lentamente o se quede sin memoria. Si crea una faceta donde hay muchos valores únicos (por ejemplo, una faceta en una columna ‘título del libro’ en un conjunto de datos que tiene una fila por libro), la faceta creada será muy grande y puede ralentizar la aplicación o OpenRefine no creará la faceta.
Utilice la función para encontrar todas las publicaciones de este conjunto de datos sin un DOI Facet by blank
Si crea una faceta de texto, puede editar los valores de la faceta para cambiar el valor de varios registros al mismo tiempo. Para ello, coloca el ratón sobre el valor que quieres editar y haz clic en la opción ‘editar’ que aparece.
Este enfoque es útil en facetas relativamente pequeñas donde puede tener pequeñas variaciones a través de errores de puntuación o escritura, etc. Por ejemplo, una columna que debe contener solo términos de una pequeña lista restringida, como días de la semana o meses del año.
La lista de valores de la faceta se actualizará a medida que realice ediciones.
Puede usar facetas y filtros para explorar sus datos
Puede utilizar facetas y filtros para trabajar con un subconjunto de datos en OpenRefine
Puede corregir problemas de datos comunes desde una faceta
Enseñanza: 10 min
Ejercicios: 10 min
Preguntas
¿Qué es el Clustering en OpenRefine y cuándo se usa?
¿Cómo funciona el clustering en OpenRefine?
Objetivos
Explicar qué es la agrupación en clústeres en OpenRefine
Usar la agrupación en clústeres para identificar y corregir la sustitución de diferentes formas de los mismos datos con un único valor coherente
La función Clúster agrupa valores similares pero incoherentes en una columna determinada y le permite combinar estos valores incoherentes en un único valor que elija.
Esto es muy efectivo cuando tiene datos con variaciones menores en los valores de los datos, por ejemplo, nombres de personas, organizaciones, lugares, términos de clasificación.
Para utilizar la función ‘Clúster’, haga clic en la opción de menú en la columna correspondiente y elija Edit CellsCluster and edit…
Los ‘Clusters’ se crean automáticamente de acuerdo con un algoritmo. OpenRefine admite una serie de algoritmos de agrupación en clústeres diferentes: es posible que se requiera cierta experimentación para ver qué algoritmo de agrupación en clústeres funciona mejor con cualquier conjunto particular de datos, y puede encontrar que el uso de diferentes algoritmos resalta diferentes clústeres.
Para obtener más información sobre los métodos utilizados para crear clústeres, consulte Clustering in deep
Para cada clúster está la opción de “fusionar” los valores, es decir, reemplazar los diversos valores inconsistentes con un solo valor consistente. De forma predeterminada, OpenRefine utiliza el valor más común en el clúster como el nuevo valor, pero puede seleccionar otro valor haciendo clic en el propio valor, o puede escribir el valor deseado en el cuadro ‘Nuevo valor de celda’.
La agrupación en clústeres es una forma de encontrar formas variantes de la misma pieza de datos dentro de un conjunto de datos (por ejemplo, diferentes ortografías de un nombre)
Hay una serie de algoritmos de clustering diferentes que funcionan de diferentes maneras y producirán diferentes resultados.
El mejor algoritmo de clustering a utilizar dependerá de los datos
Con la agrupación en clústeres, puede reemplazar diferentes formas de los mismos datos con un único valor coherente episodio anterior
Enseñanza: 5 min
Ejercicios: 5 min
Preguntas
¿Cómo muevo, cambio el nombre o elimino columnas en OpenRefine?
¿Cómo ordeno los datos en OpenRefine?
Objetivos
Explicar cómo reordenar, renombrar y eliminar columnas
Explicar cómo ordenar los datos en columnas
Puede reordenar las columnas haciendo clic en el menú desplegable en la parte superior de la primera columna (etiquetado como ‘Todos’) y eligiendo ‘Editar columnas’ > ‘Reordenar / eliminar columnas …’
A continuación, puede arrastrar y soltar los nombres de columna para reordenar las columnas o eliminar las columnas por completo si no son necesarias.
Puede cambiar el nombre de una columna abriendo el menú desplegable en la parte superior de la columna que desea cambiar de nombre y eligiendo ‘Editar columna’ > ‘Cambiar nombre de esta columna’. A continuación, se le pedirá que introduzca el nuevo nombre de columna.
Puede ordenar los datos en OpenRefine haciendo clic en el menú desplegable de la columna en la que desea ordenar y eligiendo. Sort
Una vez que haya ordenado los datos, se mostrará un nuevo menú desplegable.Sort
A diferencia de Excel, las ‘ordenaciones’ en OpenRefine son temporales, es decir, si elimina el sort, los datos volverán a su estado original ‘desordenado’. El menú desplegable ‘Sort’ le permite modificar la ordenación existente (por ejemplo, invertir el orden de clasificación), eliminar las clasificaciones existentes y/o hacer que las clasificaciones sean permanentes.
Puede ordenar en varias columnas al mismo tiempo agregando otra columna ordenada (de la misma manera).
Puede reordenar, cambiar el nombre y eliminar columnas en OpenRefine
La ordenación en OpenRefine siempre ordena todas las filas
El orden original de las filas en OpenRefine se mantiene durante una ordenación hasta que utilice la opción Reordenar filas de forma permanente
Enseñanza: 5 min
Ejercicios: 5 min
Preguntas
¿Cómo utilizo las transformaciones para editar mis datos mediante programación?
¿Cuáles son los tipos de transformaciones que soporta Open Refine?
¿Qué es GREL?
Objetivos
Describir transformaciones comunes
Explicar GREL, el lenguaje de expresión general refine
A través de facetas, filtros y clústeres, OpenRefine ofrece formas relativamente sencillas de obtener una visión general de sus datos y realizar cambios cuando desee estandarizar los términos utilizados en un conjunto común de valores.
Sin embargo, a veces habrá cambios que desee realizar en los datos que no se pueden lograr de esta manera. Tales tipos de cambios incluyen:
Dividir datos que se encuentran en una sola columna en varias columnas (por ejemplo, dividir una dirección en varias partes)
Estandarizar el formato de los datos en una columna sin cambiar los valores (por ejemplo, eliminar la puntuación o estandarizar un formato de fecha)
Extraer un tipo particular de datos de una cadena de texto más larga (por ejemplo, encontrar ISBN en una cita bibliográfica)
Para soportar este tipo de actividad OpenRefine soporta ‘Transformaciones’ que son formas de manipular datos en columnas. Las transformaciones normalmente se escriben en un lenguaje especial llamado ‘GREL’ (General Refine Expression Language). Hasta cierto punto, las expresiones GREL son similares a la fórmula de Excel, aunque tienden a centrarse en manipulaciones de texto en lugar de funciones numéricas.
La documentación completa para el GREL está disponible en https://docs.openrefine.org/manual/grelfunctions. Este tutorial cubre sólo un pequeño subconjunto de los comandos disponibles.
Algunas transformaciones se utilizan regularmente y son accesibles directamente a través de las opciones del menú, sin tener que escribirlas directamente.
Ejemplos de algunas de estas transformaciones comunes se dan en la siguiente tabla, con sus equivalentes ‘GREL’. Veremos cómo usar la versión GREL más adelante en esta lección.
Transformación común Acción Expresión GREL
A mayúsculas Convierte el valor actual en mayúsculas value.toUppercase()
A minúsculas Convierte el valor actual en minúsculas value.toLowercase()
A Titlecase Convierte el valor actual en mayúsculas (es decir, cada palabra comienza con un carácter en mayúsculas y todos los demás caracteres se convierten en minúsculas) value.toTitlecase()
Recortar espacios en blanco iniciales y finales Elimina cualquier carácter de “espacio en blanco” (por ejemplo, espacios, pestañas) del inicio o del final del valor actual value.trim()
Crear una faceta de texto en la columna “Publisher”
Tenga en cuenta que en los valores hay dos que parecen casi idénticos: ¿por qué estos dos valores aparecen por separado en lugar de como un solo valor?
En la columna del editor, utilice el menú desplegable para seleccionar Edit cells->Common transforms->Collapse consecutive whitespace
Mira la faceta del editor ahora: ¿ha cambiado? (si no ha cambiado, intente hacer clic en la opción para asegurarse de que se actualiza)Refresh
Enseñanza: 5 min
Ejercicios: 10 min
Preguntas
¿Dónde escribo expresiones GREL en la interfaz OpenRefine?
¿Cómo escribo una expresión GREL válida?
Objetivos
Para comenzar a escribir transformaciones, seleccione la columna en la que desea realizar una transformación y elija Edit cells->Transform En la pantalla que se muestra, tiene un lugar para escribir una transformación (el cuadro ‘Expression’) y luego la capacidad de obtener una vista previa del efecto que tendría la transformación en 10 filas de sus datos.
La transformación que escriba en el cuadro ‘Expression’ debe ser una expresión GREL válida. La expresión predeterminada es la palabra value por sí misma, lo que significa el valor que se encuentra actualmente en la columna, es decir: no hacer ningún cambio.
Las funciones GREL están escritas dando un valor de algún tipo (una cadena de texto, una fecha, un número, etc.) a una función GREL. Algunas funciones GREL toman parámetros u opciones adicionales que controlan cómo funciona la función. GREL admite dos tipos de sintaxis:
Cualquiera de los dos es válido, y el que se usa se debe completamente a la preferencia personal. En estas notas se utiliza la primera sintaxis.
Junto a la opción ‘Vista previa’ hay opciones para ver:
‘Historial’: una lista de transformaciones que ha utilizado anteriormente con la opción de reutilizarlas inmediatamente o ‘estrellarlas’ para facilitar el acceso
‘Estrellado’: una lista de las transformaciones que has “protagonizado” a través de la vista ‘Historial’
‘Ayuda’ - una lista de todas las funciones de GREL y una breve información sobre cómo usarlas
Utilice Facetas y la expresión GREL para poner los títulos en Title Casevalue.toTitlecase()
Puede modificar los datos en OpenRefine en función de instrucciones específicas
Puede obtener una vista previa de los resultados de la expresión GREL
Enseñanza: 5 min
Ejercicios: 0 min
Preguntas
¿Cómo funcionan las funciones Deshacer y Rehacer?
Objetivos
Explicar cómo usar Deshacer y Rehacer para volver sobre los pasos
OpenRefine le permite deshacer y rehacer cualquier número de pasos que haya realizado para limpiar los datos. Esto significa que siempre puede probar transformaciones y “deshacer” si es necesario. La forma en que OpenRefine registra los pasos que ha tomado incluso le permite tomar los pasos que ha llevado a cabo en un conjunto de datos y aplicarlos a otro conjunto de datos mediante una operación de copiar y pegar.
Se accede a las opciones y a través del panel de la izquierda.Undo Redo
El panel Deshacer/Rehacer enumera todos los pasos que ha seguido hasta ahora. Para deshacer pasos, haga clic en el último paso que desea conservar en la lista y esto deshará automáticamente todos los cambios realizados desde ese paso.
Los pasos restantes continuarán mostrándose en la lista, pero atenuados, y puede volver a aplicarlos haciendo clic en el último paso que desea aplicar.
Sin embargo, si ‘deshaces’ un conjunto de pasos y luego comienzas a hacer nuevas transformaciones, los pasos en gris desaparecerán y ya no tendrás la opción de ‘rehacer’ estos pasos.
Si desea guardar un conjunto de pasos para volver a aplicarlos más tarde, por ejemplo, a un proyecto diferente, puede hacer clic en el botó Extract. Esto le da la opción de seleccionar los pasos que desea guardar y extraer el código de esos pasos en un formato llamado ‘JSON’. Puede copiar el JSON extraído y guardarlo como un archivo de texto sin formato (por ejemplo, en el Bloc de notas).
Para aplicar un conjunto de pasos que ha copiado o guardado en este formato ‘JSON’ use el botón Apply y pegue en el JSON. De esta manera podrás compartir transformaciones entre proyectos y con otras personas.
Los datos de Deshacer/Rehacer se almacenan con el proyecto y se guardan automáticamente a medida que trabaja, por lo que la próxima vez que abra el proyecto, podrá acceder a su historial completo de pasos que ha llevado a cabo y deshacer/rehacer exactamente de la misma manera.
Puede usar Deshacer y Rehacer para volver sobre los pasos de uno
Puede guardar y aplicar un conjunto de pasos a un nuevo conjunto de datos utilizando las funciones ‘Extraer’ y ‘Aplicar’
Enseñanza: 5 min
Ejercicios: 15 min
Preguntas
¿Cómo utilizo las transformaciones para editar mis datos mediante programación?
¿Cómo transformo los distintos tipos de datos?
Objetivos
Nombre y descripción de 4 tipos de datos: cadena, número, fecha y booleano
Transformar fechas para su posterior análisis
Usar booleano para identificar la información registrada en un formato diferente
Crear y ejecutar transformaciones basadas en valores booleanos
Comprender los tipos de datos y las expresiones regulares le ayudará a escribir transformaciones más complejas utilizando GREL.
Cada dato en OpenRefine tiene un ‘type’. El ‘type’ más común es un ‘string’, es decir, un fragmento de texto. Sin embargo, hay otros tipos de datos disponibles y las transformaciones le permiten convertir datos de un tipo a otro cuando sea apropiado. Los tipos de datos admitidos son:
String | Cadena de Texto
Numbre | Número
Booleano |Booleano
Array | Matriz (cubierta en la siguiente lección)
Hasta ahora hemos estado mirando solo los datos de tipo ‘String’. La mayor parte del tiempo es posible tratar los números y las fechas como cadenas. Por ejemplo, en la columna Fecha tenemos la fecha de publicación representada como una Cadena. Sin embargo, algunas operaciones y transformaciones solo funcionan en datos tipados ‘número’ o ‘fecha’, como ordenar valores en orden numérico o de fecha. Para llevar a cabo estas funciones necesitamos convertir los valores a una fecha o número primero.
Asegúrese de eliminar todas las facetas y filtros
En la columna Fecha, utilice el menú desplegable para seleccionar Edit cells -> Transform
En el cuadro ‘Expression’, escriba la expresión GREL y presione OK.value.toDate(“dd/MM/yyyy”)
Observe cómo los valores ahora se muestran en verde y siga una convención estándar para su formato de visualización (ISO 8601), esto indica que ahora se almacenan como tipos de datos de fecha en OpenRefine. Ahora podemos llevar a cabo funciones que son específicas de Dates
En el menú desplegable de la columna Fecha, seleccione Edit column->Add column based on this column . Con esta función puede crear una nueva columna, conservando la columna anterior
En el ‘Nuevo nombre de columna’ escriba “Formatted-Date”
En el cuadro ‘Expression’, escriba la expresión GREL value.toString(“dd MMMM yyyy”)
Un ‘booleano’ es un valor binario que puede ser ‘verdadero’ o ‘falso’. Los valores booleanos se pueden usar directamente en la celda OpenRefine, pero se usan con mayor frecuencia en transformaciones como parte de una expresión GREL. Por ejemplo, la expresión GREL
value.contains(“test”)
genera un valor booleano de ‘true’ o ‘false’ dependiendo de si el valor actual de la celda contiene el texto ‘test’ en cualquier lugar.
Dichas pruebas se pueden combinar con otras expresiones GREL para crear transformaciones más complejas. Por ejemplo, para llevar a cabo una transformación adicional solo si una prueba es exitosa. La transformación GREL reemplaza un valor de celda con las palabras “Datos de prueba” solo si el valor de la celda contiene la cadena “prueba” en cualquier lugar. if(value.contains(“test”),“Test data”,value)
En este ejercicio vamos a utilizar el tipo de datos booleanos. Si observa la columna Author, puede ver que la mayoría de los nombres de los autores se escriben primero con el nombre personal. Sin embargo, algunos se han invertido para poner el apellido primero.
Podemos hacer una prueba cruda para los nombres de autor invertidos buscando aquellos que contienen una coma:
Asegúrese de que ya ha dividido los nombres de los autores en celdas individuales usando Edit cells->Split multi-valued cells (debería haber hecho esto en el ejercicio 5)
En la columna Autores, utilice el menú desplegable y seleccione Facet->Custom text facet…
La función faceta de texto personalizada le permite escribir funciones GREL para crear una faceta
En el cuadro Expresión, escriba value.contains(“,”).toString()
Clic OK
Dado que la función ‘contiene’ genera un valor booleano, debería ver una faceta que contenga ‘false’ y ‘true’. Estos representan el resultado de la expresión, es decir, true = valores que contienen una coma; false = valores que no contienen una coma
Para cambiar los nombres a nombre personal de primer orden, consulte la lección Matrices.
Puede modificar los datos en OpenRefine en función de instrucciones específicas
Puede ampliar las funciones de edición de datos integradas en OpenRefine creando las suyas propias
Enseñanza: 5 min
Ejercicios: 15 min
Preguntas
Objetivos
Comprender el propósito de los arreglos de discos en OpenRefine
Usar matrices como parte de transformaciones en GREL
Una ‘Matriz’ es una lista de valores, representada en OpenRefine mediante el uso de corchetes que contienen una lista de valores entre comillas dobles y separados por comas. Por ejemplo, una matriz que enumere los días de la semana se vería así:
[“Lunes”,“Martes”,“Miércoles”,“Jueves”,“Viernes”,“Sábado”,“Domingo”]
Las matrices se pueden ordenar, desduplicar y manipular de otras maneras en expresiones GREL, pero no pueden aparecer directamente en una celda OpenRefine. Las matrices en OpenRefine suelen ser el resultado de una transformación. Por ejemplo, la función split toma una cadena y la transforma en una matriz basada en un “separador”. Por ejemplo, si una celda tiene el valor:
“Lunes, martes, miércoles, jueves, viernes, sábado, domingo”
Esto se puede transformar en una matriz utilizando la función split
value.split(",")
Esto crearía la matriz que contiene los días de la semana:
[“Lunes”,“Martes”,“Miércoles”,“Jueves”,“Viernes”,“Sábado”,“Domingo”]
Esto se puede combinar con operaciones de matriz como sort . Por ejemplo, suponiendo que la celda contiene el mismo valor que el anterior, entonces la función
value.split(",").sort()
daría como resultado una matriz que contiene los días de la semana ordenados en orden alfabético:
[“Domingo”,“Jueves”,“Lunes”,“Martes”,“Miércoles”,“Sábado” “Viernes”]
Para generar un valor de una matriz, puede seleccionar un valor específico en función de su posición en la lista (con la primera posición tratada como ‘cero’). Por ejemplo
value.split(“,”)[0]
extraería el primer valor de la matriz creada por la función split. En el ejemplo anterior esto sería “lunes”
También puede unir matrices para crear un ‘string’. La expresión GREL se vería como
value.split(",").sort().join(",")
Tomando el ejemplo anterior nuevamente, esto resultaría en una cadena con los días de la semana en orden alfabético, enumerados con comas entre cada día.
Es posible que ya haya hecho el ejercicio booleano y tenga una faceta que contenga los nombres en primer lugar del nombre personal. En este caso, seleccione la faceta ‘verdadero’ y comience con el paso “1. En la columna Authors use …”
En este ejercicio vamos a utilizar los tipos de datos Boolean y Array. Si observa la columna Autores, puede ver que la mayoría de los nombres de los autores están escritos en primer orden de nombre personal. Sin embargo, algunos se han invertido para poner el apellido primero
Podemos hacer una prueba cruda para los nombres de autor invertidos buscando aquellos que contienen una coma:
Asegúrese de haber dividido los nombres de los autores en celdas individuales usando Edit cells->Split multi-valued cells (debería haber hecho esto en la lección de Agrupación)
En la columna “Author”, use el menú desplegable y seleccione Facet->Custom text facet…
La función Custom text le premite escribir funciones GREL para crear una faceta.
En el cuadro Expresión escriba value.contains(“,”).toString()
AHcer clic Ok
Dado que la función contains genera un valor booleano, debería ver una faceta que contiene ‘falso’ y ‘verdadero’. Éstos representan el resultado de la expresión, es decir verdadero = valores que contienen una coma; falso = valores que no contienen una coma
En esta faceta, seleccione ‘verdadero’‘True’ para restringir los nombres de los autores que contienen una coma.
Ahora que nos hemos redicido a las líneas que tienen una coma en el nombre, podemos usar la función match. La función de coincidencia le permite usar expresiones regualres y general los grupos de captura como una matriz, que luego puede manipular.
En la colummna “Author” use el menú desplegable y seleccione ** Edit cells->Transform**
En el cuadro *Expression¨¨, escriba value.match(/(.),(.)/) The /, significa que está utilizando una expresión regular dentro de una expresión GREL. Los paréntesis indican que va a hacer coincidir un grupo de caracteres. La . expresión coincidirá con cualquier carácter que aparezca 0, 1 o más veces. Así que aquí estamos haciendo coincidir cualquier número de caracteres, una coma y otro conjunto de cualquier número de caracteres.
Vea cómo esto crea una matriz con dos miembros en cada fila en la columna Vista previa
Para obtener el nombre del autor en el primer orden del nombre personal, puede invertir la matriz y volver a unirla con un espacio para crear la cadena que necesita:
En el cuadro Expresión, agregue a la expresión existente hasta que se lea value.match(/(.),(.)/).reverse().join(" ")
En la vista de vista previa, debería poder ver que esto ha invertido la matriz y la ha vuelto a unir en una cadena
Las matrices no pueden aparecer directamente en una celda OpenRefine
Las matrices se pueden usar de muchas maneras usando expresiones GREL
Enseñanza: 5 min
Ejercicios: 0 min
Preguntas
¿Cómo exporto datos transformados?
Objetivos
Explicar cómo exportar datos en diferentes formatos desde OpenRefine
Una vez que haya terminado de trabajar con un conjunto de datos en OpenRefine, es posible que desee exportarlo. Se accede a las opciones de exportación a través del botón en la parte superior derecha de la interfaz de OpenRefine.Export
El soporte de formatos de exportación incluye HTML, Excel y valores separados por comas y tabulaciones (csv y tsv). También puede escribir una exportación personalizada, seleccionando exportar campos específicos, agregando un encabezado o pie de página y especificando el formato exacto.
Enseñanza: 20 min
Ejercicios: 10 min
Preguntas
¿Cómo obtengo datos de una interfaz de programación de aplicaciones (API) para usar en OpenRefine?
¿Cómo concilio mis datos comparándolos con conjuntos de datos autorizados?
¿Cómo instalo extensiones para OpenRefine?
Objetivos
Use URL para obtener datos de la web en función de columnas en un proyecto de OpenRefine
Agregue columnas para analizar los datos JSON devueltos por los servicios web
Comprender cómo se utilizan los servicios de reconciliación para validar datos
Agregar funcionalidad usando extensiones OpenRefine
Buscar datos desde una URL
OpenRefine puede recuperar datos de URL. Esto se puede usar de varias maneras, incluida la búsqueda de información adicional de un servicio remoto, según la información en sus datos de OpenRefine.
Por ejemplo, puede buscar nombres en el Archivo de autoridad internacional virtual (VIAF) y recuperar información adicional, como fechas de nacimiento/muerte e identificadores.
Por lo general, este es un proceso de dos pasos, en primer lugar, un paso para recuperar datos de un servicio remoto y, en segundo lugar, para extraer la información relevante de los datos que ha recuperado.
Para recuperar datos de una fuente externa, use el menú desplegable en el encabezado de cualquier columna y seleccione ‘Editar columna->Agregar columna obteniendo URL’.
Esto le pedirá una expresión GREL para crear una URL. Por lo general, esta sería una URL que usa valores existentes en sus datos para crear una consulta. Cuando se ejecuta la consulta, OpenRefine solicitará cada URL (para cada línea) y recuperará los datos que se devuelvan (a menudo pueden ser datos estructurados, pero podrían ser HTML).
Los datos recuperados se almacenarán en una celda en la nueva columna que se ha agregado al proyecto. A continuación, puede utilizar las transformaciones de OpenRefine para extraer información relevante de los datos que se han recuperado. Dos funciones específicas de OpenRefine utilizadas para esto son:
analizar HTML ()
analizarJson ()
La función ‘parseHtml()’ también se puede usar para extraer datos de XML.
Debido a que la recuperación de datos de direcciones URL externas lleva tiempo, este ejercicio apunta a una sola línea en los datos. En realidad, le gustaría ejecutar esto en muchas filas (y probablemente ir y hacer otra cosa mientras se ejecuta)
Seleccione una sola fila del conjunto de datos que contiene un ISSN por:
En la columna ISSN, use el menú desplegable para elegir ‘Editar columna->Agregar columna obteniendo URL’
Asigne un nombre a la columna, por ejemplo, “Diario-Detalles”
En el cuadro de expresión, debe escribir GREL donde el resultado de la expresión es una URL que se puede usar para recuperar datos (el formato de los datos podría ser HTML, XML, JSON o algún otro formato de texto)
En este caso vamos a utilizar la API de CrossRef: https://github.com/CrossRef/rest-api-doc) . Lea más sobre el servicio CrossRef: http://www.crossref.org . Tenga en cuenta que los proveedores de API pueden imponer límites de velocidad o tener otros requisitos para usar sus datos, por lo que es importante consultar la documentación del sitio. Para cumplir con los límites de velocidad de la API, use la configuración Throttle Delay para especificar la cantidad de milisegundos entre las solicitudes de URL. CrossRef, por ejemplo, pregunta a los usuariospara “especificar un encabezado de agente de usuario que identifique correctamente su secuencia de comandos o herramienta y que proporcione un medio para contactarlo por correo electrónico usando ‘mailto:’”. Los encabezados de agente de usuario brindan a los administradores información del usuario que facilita una mejor administración y moderación de la API, y generalmente es una buena etiqueta incluir un encabezado con cualquier solicitud de API.
Para editar su encabezado de agente de usuario:
La sintaxis para solicitar información de la revista de CrossRef es http://api.crossref.org/journals/{ISSN}donde {ISSN} se reemplaza con el ISSN de la revista.
En este punto, su pantalla debería ser similar a esta:

Haga clic en Aceptar’
Debería ver un mensaje en la parte superior de la pantalla de OpenRefine que indica que está obteniendo algunos datos y hasta dónde ha llegado. Espere a que esto se complete. La obtención de datos para una sola fila debería llevar solo unos diez segundos, pero la obtención de datos para todas las filas llevará más tiempo. Puede acelerar esto modificando la configuración de “Retraso del acelerador” en el cuadro de diálogo ‘Agregar columna obteniendo URL’ que controla el retraso entre cada solicitud de URL realizada por OpenRefine. Esto está predeterminado en 5000 milisegundos (5 segundos) bastante grandes.
En este punto, debería tener una nueva celda que contenga una cadena de texto larga en un formato llamado ‘JSON’ (esto significa Notación de objetos de JavaScript, aunque rara vez se explica en su totalidad).
OpenRefine tiene una función para extraer datos de JSON (a veces denominado “análisis” de JSON). La función ‘parseJson’ se explica con más detalle en https://docs.openrefine.org/manual/grelfunctions/#format-based-functions-json-html-xml .
En la nueva columna que acaba de agregar, use el menú desplegable para acceder a ‘Editar columna-> Agregar columna basada en esta columna’
Agregue un nombre para la nueva columna, por ejemplo, “Título de la revista”
En el cuadro Expresión escriba el GREL value.parseJson().message.title
Debería ver en la vista previa el título de la revista.
La razón para usar ‘Agregar columna basada en esta columna’ es que esto le permite retener el JSON completo y extraer más datos si es necesario. Si solo quisiera el título y no necesitara ninguna otra información del JSON, podría usar ** 'Editar celdas->Transformar…** con la misma expresión GREL.
Los servicios de reconciliación le permiten buscar términos de sus datos en OpenRefine contra servicios externos y usar valores de los servicios externos en sus datos. El Manual de usuario oficial proporciona información detallada sobre la función de reconciliación .
Los servicios de conciliación pueden ser más sofisticados y, a menudo, más rápidos que usar el método descrito anteriormente para recuperar datos de una URL. Sin embargo, para usar la función ‘Reconciliación’ en OpenRefine se requiere que el recurso externo admita el servicio necesario para que funcione OpenRefine, lo que significa que, a menos que el servicio que desea usar admita dicho servicio, no puede usar el enfoque de ‘Reconciliación’.
Hay algunos servicios en los que puede encontrar una opción de reconciliación de OpenRefine disponible. Por ejemplo, WikiData tiene un servicio de reconciliación en https://wikidata.reconci.link/ .
En otros casos, las personas han creado aplicaciones de reconciliación para un servicio específico que puede descargar y ejecutar usted mismo. Estos varían en la forma en que funcionan y en lo que se necesita para ejecutarlos localmente. Por ejemplo, existen múltiples aplicaciones de reconciliación para VIAF. Incluso para el mismo servicio (por ejemplo, VIAF), diferentes aplicaciones de reconciliación (escritas por diferentes personas) pueden funcionar de diferentes maneras y potencialmente dar resultados diferentes, ¡así que, caveat emptor!
Una de las formas más comunes de usar la opción de reconciliación en OpenRefine es con una extensión (consulte a continuación para obtener más información sobre las extensiones de OpenRefine) que puede usar fuentes de datos vinculadas para la reconciliación. La extensión RDF de Stuart Kenny se puede descargar desde https://github.com/stkenny/grefine-rdf-extension/releases .
Hay otras extensiones disponibles para realizar la reconciliación con datos locales, como archivos csv (consulte http://okfnlabs.org/reconcile-csv/ ) y listas de valores mantenidas (consulte http://okfnlabs.org/projects/nomenklatura/index. html ).
Para obtener más información sobre el uso de los servicios de reconciliación, consulte https://github.com/OpenRefine/OpenRefine/wiki/Reconciliation-Service-API
En este ejercicio se utilizará el servicio de reconciliación VIAF escrito por Jeff Chiu . Jeff ofrece dos formas de usar el servicio de reconciliación: ya sea a través de un servicio público que ejecuta en http://refine.codefork.com/, o instalando y ejecutando el servicio localmente siguiendo las instrucciones en https://github.com/codeforkjeff /conciliador .
Si va a realizar muchas reconciliaciones, instale y ejecute su propio servicio de reconciliación local siguiendo las instrucciones en https://github.com/codeforkjeff/conciliator .
Una vez que haya elegido qué servicio va a utilizar:
En la columna Editor, use el menú desplegable para elegir ‘Conciliar->Iniciar conciliación’
Si es la primera vez que utiliza este servicio de conciliación en particular, deberá agregar los detalles del servicio ahora
Haga clic en ‘Agregar servicio estándar…’ y en el cuadro de diálogo que aparece ingrese:
“http://refine.codefork.com/reconcile/viaf” para el servicio público de Jeff
“http://localhost:8080/reconcile/viaf” si está ejecutando el servicio localmente
Ahora debería ver un encabezado en la lista en el lado izquierdo del diálogo de Reconciliación llamado “VIAF”.
Haga clic aquí para optar por utilizar este servicio de reconciliación
En el cuadro del medio en el diálogo de reconciliación, es posible que se le pregunte qué tipo de ‘entidad’ desea reconciliar, es decir, qué tipo de cosa está buscando. La lista variará según el servicio de conciliación que esté utilizando.
En este caso, elija “Nombre corporativo” (parece que el Servicio de conciliación de VIAF es un poco inteligente al respecto y solo ofrecerá opciones que sean relevantes)
En el cuadro de la derecha del cuadro de diálogo de conciliación, puede elegir si se usan otras columnas para ayudar al servicio de conciliación a hacer una coincidencia; sin embargo, a veces es difícil saber qué uso (si lo hay) hace el servicio de conciliación de estas columnas adicionales.
En la parte inferior del diálogo de reconciliación, existe la opción de “Coincidencia automática de candidatos con alta confianza”. Esto puede ahorrarle tiempo, pero en este caso lo va a desmarcar, para que pueda ver los resultados antes de que se haga una coincidencia.
Ahora haga clic en ‘Comenzar a conciliar’
La reconciliación es una operación que puede llevar un poco de tiempo si tiene muchos valores para buscar. Sin embargo, en este caso solo hay 6 editores para verificar, por lo que debería funcionar con bastante rapidez.
Una vez que la conciliación se ha completado, se deben crear dos facetas automáticamente:
Editorial: Sentencia
Editor: puntuación del mejor candidato
Estas son dos de varias facetas y acciones de reconciliación específicas que puede obtener del menú ‘Conciliar’ (del menú desplegable de la columna).
Cierre la faceta ‘Editor: puntaje del mejor candidato’, pero deje abierta la faceta ‘Editor: Juicio’
Si observa la columna Editor, debería ver que algunas celdas han encontrado una o más coincidencias: las posibles coincidencias se muestran en una lista en cada celda. Al lado de cada posible coincidencia hay un ‘tic’ y un ‘doble tic’. Para aceptar una coincidencia de reconciliación, puede usar las opciones de ‘marcar’ en las celdas. La ‘marca’ acepta la coincidencia para una sola celda, la ‘doble marca’ acepta la coincidencia para todas las celdas idénticas.
Crear una faceta de texto en la columna Editor
Elija ‘Unión Internacional de Cristalografía’
En la columna Editor, debería poder ver las diversas coincidencias potenciales. Al hacer clic en un partido, accederá a la página de VIAF de esa entidad.
Haga clic en una ‘doble marca’ en una de las celdas de la columna del editor para la opción “Unión internacional de cristalografía”
Esto aceptará esto como una coincidencia para todas las celdas; debería ver desaparecer todas las otras opciones.
Compruebe la faceta ‘Editor: Juicio’. Esto ahora debería mostrar que 858 elementos están ‘coincidentes’ (si esto no se actualiza, intente actualizar las facetas)
Podríamos hacer estos uno por uno, pero si estamos seguros con los partidos, hay una opción para aceptar todos:
Eliminar todos los filtros/facetas del proyecto para que se muestren todas las filas
En la columna Editor, use el menú desplegable para elegir ‘Conciliar->Acciones->Hacer coincidir cada celda con su mejor candidato’
Hay dos cosas que la reconciliación puede hacer por usted. En primer lugar, obtiene una forma estándar del nombre o etiqueta de la entidad. En segundo lugar, obtiene una identificación para la entidad; en este caso, una identificación de VIAF. Esto está oculto en la vista predeterminada, pero se puede extraer:
En la columna Editor, use el menú desplegable para elegir ‘Editar columna->Agregar columna basada en esta columna…’
Asigne a la columna el nombre ‘VIAF-ID’
En el cuadro de expresión GREL escribacell.recon.match.id
Esto creará una nueva columna que contiene el ID de VIAF para la entidad coincidente
La funcionalidad en OpenRefine se puede mejorar con ‘extensiones’ que se pueden descargar e instalar para agregar funcionalidad a su instalación de OpenRefine.
Se proporciona una lista de Extensiones (no necesariamente completa) en la página de descargas de OpenRefine en http://openrefine.org/download.html .
Además de buscar datos en sistemas externos utilizando los métodos descritos anteriormente, también es posible buscar datos en otros proyectos de OpenRefine en la misma computadora. Esto se hace usando la función ‘cross’.
La función ‘cross’ toma un valor del proyecto OpenRefine en el que está trabajando y busca ese valor en una columna en otro proyecto OpenRefine. Si encuentra una o más filas coincidentes en el segundo proyecto de OpenRefine, devuelve una matriz que contiene las filas con las que ha coincidido.
Como devuelve la fila completa para cada coincidencia, puede usar una transformación para extraer los valores de cualquiera de las columnas en el segundo proyecto.
Puede usar esta función para comparar el contenido de dos proyectos de OpenRefine o para usar datos entre los dos proyectos.
La extensión VIB-Bits agrega una serie de funciones muy útiles a OpenRefine. Uno de ellos es “Agregar columna(s) de otros proyectos…”, que proporciona una ventana de diálogo para ayudarlo a trabajar con la función cross escribiendo menos.
OpenRefine puede buscar URL personalizadas para obtener datos en función de lo que hay en un proyecto de OpenRefine
Dichas llamadas API se pueden crear de forma personalizada o se pueden usar los servicios de reconciliación existentes para enriquecer los datos.
OpenRefine se puede mejorar aún más mediante la instalación de extensiones
::::